#if !defined(__APP_SERIAL_H)
#define __APP_SERIAL_H

#include "termios.h"
#include "app_device.h"

//波特率枚举
typedef enum{
    BR_9600 = B9600,
    BR_115200 = B115200
}BraudRate;

//校验位枚举
typedef enum{
    Parity_NONE = 0,
    Parity_ODD = PARENB | PARODD, //奇校验
    Parity_EVEN = PARENB  //偶校验
}Parity;

//停止位枚举
typedef enum{
    SB_1 = 0,
    SB_2 = CSTOPB
}StopBits;

//初始化:设置波特率、校验位、停止位、是否阻塞、是否原始模式
int app_serial_init(Device * device);

//设置波特率
int app_serial_setBraudRate(Device * device, BraudRate baudRate);

//设置校验位
int app_serial_setParity(Device * device, Parity parity);

//设置停止位
int app_serial_setStopBits(Device * device, StopBits stopBits);

//设置串口是否是阻塞模式(0:非阻塞，1:阻塞)
int app_serial_setBlock(Device * device,int block);

//设置串口解析数据模式为原始模式：不解析特殊字符
int app_serial_setRaw(Device * device);


#endif // __APP_SERIAL_H


